package cn.wizzer.app.user.modules.services.account;

import cn.wizzer.app.crown.modules.models.enums.SettleStatusEnum;
import cn.wizzer.app.user.modules.models.UserAccountRecord;
import cn.wizzer.app.user.modules.models.enums.BizTypeEnum;
import cn.wizzer.framework.base.service.BaseService;
import cn.wizzer.framework.page.Pagination;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface UserAccountRecordService extends BaseService<UserAccountRecord> {

    /**
     * 添加流水
     */
    void add(String userId, BigDecimal amount, BizTypeEnum bizType, String bizId);

    Pagination listPage(Integer pageNumber, int pageSize, String userId, BizTypeEnum bizType, String[] searchDate);

    <T>List<T> query(Class clazz, String sql);

    Map count(int pageNumber, int pageSize, String searchKeyword, long startTime, long endTime, String no, SettleStatusEnum status, String appid);
}
